home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 001a / thost200.zip / TINYHOST.DOC < prev    next >
Text File  |  1991-08-15  |  50KB  |  1,253 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.                                     TINYHOST
  13.  
  14.                                      V 2.00
  15.                                 August 15, 1991
  16.  
  17.  
  18.                     Copyright (C) 1991 by Bruce A. Krobusek
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.                        A small, personal Host program for
  32.  
  33.                             IBM PC's or compatibles
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.                          Created by : Bruce A. Krobusek
  46.  
  47.                                       1001 Cunningham Drive
  48.                                       Victor, NY  14564
  49.  
  50.                                       CompuServe : 74106,1335
  51.                                       Genie : B.KROBUSEK
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.        
  68.        
  69.        
  70.        
  71.        
  72.        1.0   INTRODUCTION                                             1
  73.           1.1   What is TinyHost?                                     1
  74.           1.2   Why TinyHost?                                         2
  75.           1.3   What is a SysOp?                                      2
  76.        
  77.        2.0   INSTALLATION and SETUP                                   2
  78.           2.1   Host System Requirements                              2
  79.           2.2   Connecting System Requirements                        2
  80.           2.3   Installation of TinyHost                              2
  81.           2.4   Running TinyHost                                      3
  82.           2.5   Modem Requirements                                    3
  83.           2.6   Modifying the TINYHOST.CFG File                       4
  84.              2.6.1   Descriptor Summary                               4
  85.              2.6.2   Communications Specific Descriptors              4
  86.              2.6.3   General Descriptors                              5
  87.           2.7   Setting up Access Levels                              6
  88.           2.8   Customizable Display Files                            7
  89.                                                                    
  90.        3.0   OPERATION                                                8
  91.           3.1   Ringback Operation                                    8
  92.           3.2   TinyHost Operation                                    8
  93.           3.3   File Oriented Commands                               10
  94.              3.3.1   File Transfers                                  10
  95.              3.3.2   List Directory                                  10
  96.              3.3.3   Changing Directories                            10
  97.              3.3.4   Typing out a File                               11
  98.           3.4   Message Commands                                     11
  99.              3.4.1   Reading Messages                                11
  100.              3.4.2   Entering Messages                               11
  101.              3.4.3   Killing (Deleting) Messages                     12
  102.              3.4.4   Viewing User List                               12
  103.           3.5   Miscellaneous Commands                               13
  104.              3.5.1   Expert Mode                                     13
  105.              3.5.2   Executing a Warm Boot                           13
  106.           3.6   Command Chaining                                     13
  107.           3.7  User Inactivity and Hang-Ups                          13
  108.        
  109.        4.0   MISCELLANEOUS INFORMATION                               14
  110.           4.1   What is Shareware?                                   14
  111.           4.2   Distributing TinyHost                                14
  112.           4.3   Warranty Information                                 14
  113.           4.4   Program Support                                      15
  114.           4.5   New User Logons                                      16
  115.           4.6   Message File Format                                  16
  116.           4.7   Known Program Limits                                 16
  117.  
  118.        
  119.        
  120.  
  121.  
  122.  
  123.        Brand and product names used throughout this document are 
  124.        trademarks or registered trademarks of their respective holders. 
  125.  
  126.  
  127.        
  128.        
  129.        
  130.        
  131.        
  132.        
  133.        
  134.        
  135.        
  136.        1.0   INTRODUCTION
  137.  
  138.        1.1   What is TinyHost?
  139.  
  140.            TinyHost is a small, personal host program I have developed
  141.        for IBM PC's or compatibles. It permits the transfer of files
  142.        (using modems) between two computers without the requirements or
  143.        overhead of other programs, particularly the full-fledged BBS
  144.        programs. In these days of people working at home more, and using
  145.        computers at both work and in their home, having necessary files
  146.        accessible can be a trying experience!
  147.  
  148.            TinyHost has the following features:
  149.  
  150.            1) Supports standard XModem, XModem/CRC, and 1K-XModem
  151.               (sometimes called YModem) file transfer protocols.
  152.  
  153.            2) Operation can be via COM1, COM2, COM3, or COM4 using a
  154.               Hayes compatible modem, and at rates of 300 to 9600 baud.
  155.  
  156.            3) Supports up to 25 users.
  157.  
  158.            4) Supports Ringback mode, which permits easy use of a voice
  159.               phone line for data communications.
  160.  
  161.            5) A text file that resides on the host system can be viewed
  162.               without downloading.
  163.  
  164.            6) Supports Personal and Public mail, and SysOp Comments.
  165.  
  166.            7) The actions of a remote user are echoed to the local
  167.               screen.
  168.  
  169.            8) Unauthorized users are not able to logon to TinyHost - a
  170.               user account must be created prior to a user being
  171.               permitted access to the system.
  172.  
  173.            9) Using the security level feature, access can be restricted
  174.               to one directory or the entire system can be available.
  175.  
  176.            10) TinyHost is just that - tiny! The executable file is less
  177.               than 80K, and the program only requires approximately
  178.               130K of system RAM to run in.
  179.  
  180.            Your version of TinyHost should have the following files
  181.        included:
  182.  
  183.                 THOSTxxx.EXE - TinyHost's executable. The xxx
  184.                                refer to the version number of
  185.                                the program
  186.                 TINYHOST.DOC - The TinyHost manual in printer
  187.                                ready form
  188.                 TINYHOST.WEL - A sample welcome file
  189.                 TINYHOST.CFG - A sample config file
  190.                 HISTORY.TXT  - A file describing the release
  191.                                history of TinyHost
  192.                 READ.ME      - A short text file describing
  193.                                TinyHost
  194.  
  195.                                      Page 1
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.        1.2   Why TinyHost?
  203.  
  204.            Why did I create TinyHost? I needed a method to transfer
  205.        files with friends without hassle. I also found that, since I use
  206.        computers at work and at home, I was constantly leaving needed
  207.        files at one location or another, which resulted in duplicated
  208.        (or lost) effort.
  209.  
  210.            TinyHost is also ideal for the company that needs to keep in
  211.        touch with remote employees, such as a sales force. With the file
  212.        transfer and message capability, it is easy to provide a single
  213.        transfer point for up-to-date information.
  214.  
  215.            TinyHost was written using Borland's C++, and consumes
  216.        approximately 130K bytes of memory space when running. The small
  217.        memory requirements, along with the small .EXE and other
  218.        associated files, permits even floppy-disk based systems to be
  219.        used for TinyHost operation.
  220.  
  221.  
  222.        1.3   What is a SysOp?
  223.  
  224.            When the term SysOp is used in this manual it refers to the
  225.        person who installs TinyHost on his computer (you), decides who
  226.        can logon to his system, and what directories they are able to
  227.        access.
  228.  
  229.  
  230.  
  231.        2.0   INSTALLATION and SETUP
  232.  
  233.        2.1   Host System Requirements
  234.  
  235.            TinyHost does not need an elaborate system in order to be
  236.        used. A minimal system would consist of a single floppy drive,
  237.        256K RAM, any type of display, a serial port, and a Hayes
  238.        compatible modem. TinyHost supports COM1-4 using the normal
  239.        hardware interrupts for each port (IRQ4 for COM1 and COM3; IRQ3
  240.        for COM2 and COM4).
  241.  
  242.  
  243.        2.2   Connecting System Requirements
  244.  
  245.            Any type of system and communications package should work
  246.        with TinyHost. Communications requirements are 8 bits, no parity,
  247.        and 1 stop bit.
  248.  
  249.  
  250.        2.3   Installation of TinyHost
  251.  
  252.            It is recommended that TinyHost be installed in its own sub-
  253.        directory. The directory that holds THOSTxxx.EXE is called the
  254.        "execution directory", and it is here that the .CFG and other
  255.        TinyHost specific files should be kept. Only two files are needed
  256.        for operation - THOST.EXE and TINYHOST.CFG. Specific information
  257.        as to the expected config file format follows in section 2.6.
  258.        Please remember that user accounts MUST be created prior to using
  259.        TinyHost - the program does not permit new user logon!
  260.  
  261.                                      Page 2
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.            For security reasons, it is STRONGLY suggested that the
  269.        TinyHost execution directory be different from the start-up
  270.        directory!
  271.  
  272.  
  273.        2.4   Running TinyHost
  274.  
  275.            To start TinyHost, move to the execution directory and type
  276.        "THOSTxxx", where the 'xxx' refers to the version number of
  277.        TinyHost.
  278.  
  279.  
  280.        2.5   Modem Requirements
  281.  
  282.            TinyHost expects a modem that supports the Hayes compatible
  283.        command set and ASCII return codes. Because of the many different
  284.        modem configurations (switch settings) there would be no point in
  285.        attempting to provide a definitive setup for each. However, I can
  286.        describe what TinyHost expects - refer to the manual for your
  287.        modem to see how to make it fit these needs.
  288.  
  289.            Most modems support two types of result codes - numeric
  290.        values (non-verbose) and ASCII strings (verbose). TinyHost
  291.        expects to receive verbose result codes of the following types:
  292.  
  293.                 OK - Informs the host that the modem has executed the
  294.                 command string successfully.
  295.  
  296.                 RING - Informs the host that an incoming call has been
  297.                 detected.
  298.  
  299.                 CONNECT - Denotes that the modem has made a 300 baud
  300.                 connection.
  301.  
  302.                 CONNECT 1200 - A 1200 baud connection.
  303.  
  304.                 CONNECT 2400 - A 2400 baud connection.
  305.  
  306.                 CONNECT 4800 - A 4800 baud connection.
  307.  
  308.                 CONNECT 9600 - A 9600 baud connection.
  309.  
  310.            Most modems support a switch setting that controls the state
  311.        of the RS-232 Data Terminal Ready (DTR) handshake line. The
  312.        switch setting can either force DTR TRUE at all times at the
  313.        modem, or it can be set to permit the host computer to control
  314.        DTR. If DTR is supported with the selected host computer and
  315.        modem, then a modem hangup string will be unnecessary as
  316.        TinyHost will toggle DTR when it wishes to drop carrier. However,
  317.        if DTR is unavailable, then the modem hangup string must be
  318.        defined (see HANGUP below) or TinyHost will be unable to
  319.        terminate a call and will never drop carrier.
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.                                      Page 3
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.        2.6   Modifying the TINYHOST.CFG File
  335.  
  336.            When TinyHost is run it looks for TINYHOST.CFG in its
  337.        execution directory. If it doesn't find it the program aborts. If
  338.        the file is located, TinyHost reads in the information that it
  339.        needs to run. The config file can be created or modified using a
  340.        simple ASCII editor.
  341.  
  342.            Each line in the config file can be up to 80 characters in
  343.        length. At any point in the line a comment can be added by
  344.        placing a pound sign (#) in the line - everything following it
  345.        will be ignored.
  346.  
  347.            TinyHost requires specific information to run. To this end I
  348.        have implemented what I call 'descriptors' which denote what type
  349.        of information is specified on the line. The descriptor must
  350.        begin in the first column of the line. The descriptor can be in
  351.        either upper or lower case, it must be followed by a colon (:),
  352.        and the descriptor must be spelled properly. If a required
  353.        descriptor does not exist TinyHost will abort and display an
  354.        error message. Descriptors can be defined in any order.
  355.  
  356.            The descriptors fall into two categories: communications
  357.        specific and general. The following table summarizes each
  358.        descriptor, with more detailed information in the following
  359.        sections.
  360.  
  361.  
  362.        2.6.1   Descriptor Summary
  363.  
  364.                *PORT      - COM port to be used
  365.                *BAUD      - Beginning baud rate
  366.                 RINGBACK  - Ringback mode select
  367.                *INIT      - Modem initialization string
  368.                 HANGUP    - Modem hangup string
  369.                *RESET     - Modem reset string
  370.  
  371.                *START     - TinyHost start-up directory
  372.                 OVERWRITE - File overwrite security level
  373.                 BOOT      - Warm boot security level
  374.                 CHDIR     - Change directory security level
  375.                 SYSOP     - SysOp security level
  376.                 VIEW      - View User List security level
  377.                 ACCESS    - Directory access security level
  378.                *USER      - User account information
  379.  
  380.                         * Required Descriptor
  381.  
  382.  
  383.        2.6.2   Communications Specific Descriptors
  384.  
  385.            PORT - This specifies the COM port that is to be used. Valid
  386.        values are 1, 2, 3, or 4. PORT is required.
  387.  
  388.            BAUD - This specifies the baud rate that TinyHost is to
  389.        operate at. Legal values are 300, 1200, 2400, 4800, and 9600.
  390.        BAUD is required.
  391.  
  392.  
  393.                                      Page 4
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.            RINGBACK - Specifies whether or not TinyHost will operate in
  401.        ringback mode. RINGBACK is not required - TinyHost will default
  402.        to Ringback Enabled Mode.
  403.  
  404.            INIT - This is the initialization string used to configure
  405.        the modem. INIT is required. The string included with TinyHost
  406.        includes some modem commands that are necessary for proper
  407.        operation: ATE0M0Q0V1X2S0=0S2=43
  408.  
  409.                 E0 - Controls echo from the modem. Must be
  410.                      set to 0, which is for no echo. Required.
  411.                 M0 - Controls the modem speaker. A value of
  412.                      0 turns the speaker off. Optional.
  413.                 Q0 - Determines the kind of result codes sent
  414.                      by the mode. Must be set for 0 (result
  415.                      codes sent). Required.
  416.                 V1 - Determines the type of result codes sent.
  417.                      Must be set to 1 which specifies English
  418.                      (ASCII) codes are sent. Required.
  419.                 X2 - Selects extended modem result codes. Must
  420.                      set to 2 or greater. Required.
  421.                 S0 - Determines the number of rings on which
  422.                      the modem will answer the phone. Must be
  423.                      set to 0. Required.
  424.                 S2 - Sets the value of the escape code for the
  425.                      modem. Must be set to 43 ("+"). Required.
  426.  
  427.            HANGUP - Specifies the command string necessary to tell the
  428.        modem to hang up the phone (go on hook). Refer to the section on
  429.        modem requirements (2.4) to see if this string is necessary.
  430.        HANGUP is Optional.
  431.  
  432.            RESET - Specifies the command string necessary to reset the
  433.        modem. RESET is required.
  434.  
  435.  
  436.        2.6.3   General Descriptors
  437.  
  438.            START - Specifies the start-up directory for TinyHost. This
  439.        is the directory that TinyHost moves to after its initialization
  440.        is complete. This is also the directory that is available to the
  441.        remote user that logs onto TinyHost so care should be taken that
  442.        no sensitive files are available for download from this
  443.        directory. START is required. A terminating backslash should not
  444.        be used except when specifying a root directory that is being
  445.        used for the start-up directory.
  446.  
  447.            OVERWRITE - Specifies the security level needed for file
  448.        overwrite permission. This can be used to update TinyHosts'
  449.        config file remotely when used with the Warm Boot command. If
  450.        Overwrite security is not specified then no user will have
  451.        Overwrite permission. OVERWRITE expects a numeric value between 0
  452.        and 10.
  453.  
  454.            BOOT - Specifies the security level needed to perform a warm
  455.        boot of the host system. This command can be used with Overwrite
  456.        to update TinyHosts' config file from a remote location. If Boot
  457.  
  458.  
  459.                                      Page 5
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.        security is not specified then no user will have Boot permission.
  467.        BOOT expects a numeric value between 0 and 10.
  468.  
  469.            CHDIR - Specifies the minimum security level necessary to be
  470.        able to move between directories of the system. If not specified
  471.        then no security level will be permitted to change directories.
  472.        CHDIR expects a numeric value between 0 and 10.
  473.  
  474.            SYSOP -  Specified the minimum security level necessary to
  475.        perform SysOp level functions. SysOp functions include the
  476.        ability to delete Public mail, and read and delete SysOp
  477.        Comments. SYSOP expects a numeric value between 0 and 10. If
  478.        it is not specified then remote SysOp privileges will be
  479.        disabled.
  480.  
  481.            VIEW - Minimum security necessary to perform a View User List
  482.        function. It may be desired to prevent lower level users from
  483.        viewing the names of the TinyHost user base, and setting VIEW
  484.        high enough will do this. View expects a numeric value between 0
  485.        and 10. Not specifying a VIEW security level will result in all
  486.        users being able to view the User List.
  487.  
  488.            ACCESS - Can be used to specify a security level needed to
  489.        access a directory. Up to 25 Access restrictions can be defined.
  490.        If no access restrictions are specified then anyone with CHDIR
  491.        permission can move to any system drive or directory. This could
  492.        be troublesome when floppy drives are specified and they contain
  493.        no diskettes. ACCESS expects a valid directory path (up to the
  494.        DOS limit of 63 characters), followed by a comma, followed by a
  495.        numeric value between 0 and 10 indicating a security level.
  496.  
  497.            USER - Defines a user account. The line should contain (in
  498.        order) the users first name (15 characters maximum), last name
  499.        (30 characters), password (8 characters), and security level (2
  500.        characters). Each item must be separated from the other by a
  501.        comma (,). The security level should be specified by a numerical
  502.        string ranging in value from 0 to 10, with 10 being the highest
  503.        permissible security level. At least one, and up to 25, user
  504.        accounts can be created.
  505.  
  506.  
  507.        2.7   Setting up Access Levels
  508.  
  509.            The first thing to remember is that if a user's account
  510.        hasn't been created in the TINYHOST.CFG file he will never be
  511.        able to log on! (See Section 4.5 for a method to permit new users
  512.        to log on).
  513.  
  514.            From there, things get a little more complicated (but not
  515.        *too* complicated!). The SysOp will have to make decisions as to
  516.        how much system access to give to the user accounts he creates.
  517.        It is recommended that security level 10 be used to deny access
  518.        to items such as the floppy drives, etc. when a hard disk based
  519.        system is used. Trying to remotely access a floppy drive that
  520.        does not have a diskette in it will cause TinyHost to hang.
  521.  
  522.            As noted above, a remote user can be restricted to the Start-
  523.        Up directory for his uploads and downloads. This is accomplished
  524.  
  525.                                      Page 6
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.        by setting the CHDIR access to a higher level than that of the
  533.        remote user.
  534.  
  535.            To limit access to other areas of the system, the ACCESS
  536.        descriptor should be used. For instance, it is recommended that
  537.        only the SysOp have remote access to the sub-directory that
  538.        contains the TinyHost program, config file, and message files.
  539.        Since there is no specific file upload or download restrictions,
  540.        permitting access to these files (particularly the config file)
  541.        would then give access to the entire user log.
  542.  
  543.            Entire disk drives (floppy, hard, and RAM) can be locked out
  544.        by simply setting up the following ACCESS descriptor:
  545.  
  546.                              ACCESS:X:,10
  547.  
  548.        This would force a security level of 10 or greater to access
  549.        drive X. As long as no user (SysOp included) has a security of
  550.        10, then no access of drive X is possible. To lock out the root
  551.        directory of a drive the descriptor would be changed to:
  552.  
  553.                              ACCESS:X:\,10
  554.  
  555.        Note the trailing backslash after the drive designation. This is
  556.        the only time that the backslash is necessary. To lock out a
  557.        particular directory:
  558.  
  559.                            ACCESS:C:\TINYHOST\BIN,9
  560.  
  561.        would permit access to the TINYHOST\BIN subdirectory by people
  562.        with security levels of 9 or greater. Note that a trailing
  563.        backslash is not required (nor desired) when specifying a
  564.        complete directory path.
  565.  
  566.            The config file that has been included with the TinyHost
  567.        package is set up to lockout drives A and B (normally floppies).
  568.        Overwrite, boot permission, and SysOp security levels are set to
  569.        that of the "SysOp", Sam Sysop.
  570.  
  571.  
  572.        2.8   Customizable Display Files
  573.  
  574.            TinyHost permits the customizing of three display files by
  575.        the SysOp that are shown at three different points within the
  576.        program. TINYHOST.WEL is displayed after a connection has been
  577.        made and before a user has logged on. TINYHOST.BUL is displayed
  578.        after the logon process has been successfully completed.
  579.        TINYHOST.BYE is shown after the user has logged off. A sample
  580.        TINYHOST.WEL has been included on the TinyHost disk.
  581.  
  582.            Each file can have any number of lines, but each line should
  583.        be no more than 80 characters long, and should be terminated with
  584.        a carriage return and line feed. If the file is longer than 20
  585.        lines TinyHost will pause at the 21st line (and every 21st line
  586.        thereafter).
  587.  
  588.            These files should be placed in the same directory that
  589.        THOSTxxx.EXE and TINYHOST.CFG reside (the execution directory).
  590.  
  591.                                      Page 7
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.        If any of the display files do not exist TinyHost will continue
  599.        on its merry way!
  600.  
  601.  
  602.        3.0   OPERATION
  603.  
  604.        3.1   Ringback Operation
  605.  
  606.            Ringback mode has been implemented to permit using the same
  607.        phone line for both voice and data communications. In the case of
  608.        the author, his computer (running TinyHost) shares a phone line
  609.        with an answering machine. The use of ringback permits access to
  610.        the computer while not affecting answering machine operation.
  611.  
  612.            To access TinyHost when ringback is implemented the caller
  613.        must first dial into the computer and permit the phone to ring at
  614.        least once (or permit the modem to detect at least one ring).
  615.        Then the caller should hang up and wait at least 8 seconds before
  616.        redialing the computer. As long as the redial is done within 1
  617.        minute of the first call, TinyHost will answer the phone and data
  618.        communications can begin. If more than 1 minute elapses then
  619.        TinyHost resets and begins waiting for the first ring.
  620.  
  621.  
  622.        3.2   TinyHost Operation
  623.  
  624.            TinyHost is a very easy program to use - if for no other
  625.        reason than there aren't too many options with which to become
  626.        confused! After the program is started a status screen is
  627.        displayed on the local monitor. This information includes whether
  628.        or not TinyHost is in ringback mode, and, if so, whether or not
  629.        the program is waiting for the ringback. A local operator is also
  630.        able to view the progress of a remote connection since all
  631.        activity is echoed to the computer's monitor.
  632.  
  633.            After TinyHost has been started, and while it is waiting for
  634.        a phone call, a local user can logon locally by pressing <ENTER>
  635.        (or <RETURN>). The local user will then be presented with the
  636.        same prompt a remote user gets, the request for the user's first
  637.        name. To exit TinyHost, a blank line should be entered at the
  638.        first name prompt.
  639.  
  640.            If logon is desired, the user should then enter his first
  641.        name, last name, and password as requested. It is permissible to
  642.        string together any and all user information (for instance,
  643.        entering first and last name, separated by a space, at the First
  644.        Name prompt). It is not recommended to enter ones password in
  645.        this fashion as the characters would be echoed to both the local
  646.        and remote screens. The names and password inputs are not case
  647.        sensitive. TinyHost does not permit retries when entering this
  648.        information - if it is entered improperly TinyHost will deny
  649.        access and will hang up.
  650.  
  651.            After the user successfully logs on, TinyHost checks to see
  652.        if any personal messages exist for the user. If so, TinyHost
  653.        beeps once, and displays a message that Personal Mail is waiting.
  654.        A check is also made for Public mail and SysOp Comments (security
  655.  
  656.  
  657.                                      Page 8
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.        level permitting), and notices are displayed if either forms of
  665.        messages exist.
  666.  
  667.            The user will then be presented with the Main Menu, which
  668.        displays the following command options:
  669.  
  670.                *D - Download a file from TinyHost to the user.
  671.  
  672.                *U - Upload a file to TinyHost from the user. If
  673.                     security level permits, file overwrite is
  674.                     possible with or without backup.
  675.  
  676.                 L - List the contents of the present directory.
  677.  
  678.                *C - If permissible, allows the user to move
  679.                     between drives and directories of the system.
  680.  
  681.                *T - Typing out a text file that resides on the
  682.                     host system.
  683.  
  684.                *R - Read Personal or Public messages, or SysOp
  685.                     comments (security level dependent).
  686.  
  687.                *E - Enter a Personal or Public message or SysOp
  688.                     comment.
  689.  
  690.                *K - Kill Personal messages, or Private messages
  691.                     or SysOp comments (security level dependent).
  692.  
  693.                 V - View User List (security level dependent).
  694.  
  695.                 I - Displays an informative screen about TinyHost.
  696.  
  697.                 H - Display a Help screen ('?' can also be used).
  698.  
  699.                 X - Toggles TinyHosts' Expert mode on and off.
  700.                     When Expert mode is ON the longer menu and
  701.                     informative messages are suppressed.
  702.  
  703.                 B - Re-display the logon Bulletin.
  704.  
  705.                 G - Goodbye. Ends the TinyHost connection.
  706.  
  707.                 W - Log off and reload the access and user info
  708.                     from the config file. Subject to permission.
  709.                     This option is *not* displayed on the screen
  710.                     - it is a SysOp secret!!
  711.  
  712.                         * Command Chaining possible
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.                                      Page 9
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.        3.3   File Oriented Commands
  731.  
  732.        3.3.1   File Transfers
  733.  
  734.            TinyHost provides XModem, XModem/CRC, and 1K-Xmodem upload
  735.        and download capability (1K-XModem protocol is sometimes known as
  736.        YModem). All uploads and downloads take place from the current
  737.        directory that the user is in. If CHDIR access has not been
  738.        given, then file transfers take place from the Start-Up
  739.        directory. Note that if a user logs on locally file transfers are
  740.        not permitted (for obvious reasons).
  741.  
  742.            Xmodem and XModem/CRC transfers appear as a single selection.
  743.        TinyHost will attempt to begin transfers using CRC as this is a
  744.        more reliable protocol than checksum. If CRC attempts are ignored
  745.        then the system will fall back to checksum.
  746.  
  747.            When uploading a file to the TinyHost system, if the file
  748.        already exists the system will typically prevent overwriting that
  749.        existing file. The exception to this is if the OVERWRITE
  750.        descriptor has been set to a security level that matches (or is
  751.        less than) the caller's. If this is the case then the user will
  752.        have the option of overwriting the existing file. If overwrite is
  753.        selected then the user will also be asked if a backup of the
  754.        current file is desired. If a backup already exists then the
  755.        current backup will be overwritten by the new backup (no backups
  756.        of backups are made!).
  757.  
  758.            The overwrite option was added to permit updating TinyHost's
  759.        config file from a remote location. Since new users cannot logon
  760.        to TinyHost it is necessary to create an appropriate account. By
  761.        using both the overwrite and warm boot capability the SysOp can
  762.        download the existing config file, modify it, upload it and
  763.        overwrite the existing config file, then tell TinyHost to load
  764.        the new information.
  765.  
  766.  
  767.        3.3.2   List Directory
  768.  
  769.            This function displays the files that reside in the currently
  770.        selected sub-directory of the system. First, the current
  771.        directory path is displayed. Then, any additional sub-directories
  772.        that exist are shown. Finally, the individual files in the
  773.        current directory are displayed along with their sizes.
  774.  
  775.  
  776.        3.3.3   Changing Directories
  777.  
  778.            The Change Directory function of TinyHost acts much the same
  779.        as the chdir (or cd) function from DOS. When Change Directory has
  780.        been chosen the program will prompt for a new directory. The same
  781.        type of input that is acceptable from a DOS command level is
  782.        suitable for TinyHost - entering two dots (..) will take TinyHost
  783.        to the next directory up the tree. Entering a complete path will
  784.        take the user to the specified directory. All of this is, of
  785.        course, assuming that the user has the necessary access to permit
  786.        moving around the host system. To ensure security of the host
  787.  
  788.  
  789.                                     Page 10
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796.        system, TinyHost will return to the designated Start-Up directory
  797.        after a user has logged off.
  798.  
  799.  
  800.        3.3.4   Typing out a File
  801.  
  802.            This function permits typing out (listing) a file that
  803.        resides on the TinyHost computer. It is strongly advised that
  804.        this function be used only to view text (ASCII) files. Viewing
  805.        binary files (those with .EXE, .COM, .ZIP., etc. extensions) can
  806.        cause VERY unpredictable results!
  807.  
  808.            If the user has Expert Mode turned off when this feature is
  809.        selected, a cautionary message similar to the above paragraph
  810.        will be displayed, then the user will be prompted for a filename.
  811.        If Expert Mode is enabled, then the user will be immediately
  812.        prompted for the filename. If the file exists in the currently
  813.        selected directory, then it will be displayed. TinyHost will
  814.        pause every 21 lines and ask if it is to continue displaying the
  815.        file. TinyHost will also automatically wrap the screen display if
  816.        the line length exceeds 80 characters. TinyHost will keep track
  817.        of added line feeds to be sure that the display is paused
  818.        properly.
  819.  
  820.            The maximum line length that TinyHost will support (without a
  821.        terminating carriage return or line feed) is 256 characters.
  822.  
  823.  
  824.        3.4   Message Commands
  825.  
  826.        3.4.1   Reading Messages
  827.  
  828.            When a user logs onto TinyHost a notification is given if any
  829.        Personal or Public mail is waiting, beeping once for Personal
  830.        mail. If the user's security level is high enough, a notification
  831.        of waiting SysOp Comments is also given. To read the messages,
  832.        enter 'R' (or 'r') at the Main Menu prompt. A choice will then be
  833.        given to read Personal ('P'), Public ('U'), or SysOp Comments
  834.        ('C'). After the second choice is made the message(s) are then
  835.        displayed. If more then one message is waiting, TinyHost pauses
  836.        before continuing on to the next message. The very first line of
  837.        the message notes who the message is from, and the time and date
  838.        that the message was entered.
  839.  
  840.            If no mail is waiting of the selected type, a message
  841.        reporting this is displayed. If the user does not have sufficient
  842.        security to read SysOp Comments a notification is given and the
  843.        Comments are not displayed.
  844.  
  845.  
  846.        3.4.2   Entering Messages
  847.  
  848.            To Enter a message or SysOp Comment, enter an 'E' (or 'e') at
  849.        the Main Menu prompt. The user will again be prompted for the
  850.        type of message to be left (Personal, Public, or SysOp Comment).
  851.        After the selection is made, a few notes regarding message input
  852.        are displayed along with a ruler line showing the length of a
  853.        message line.
  854.  
  855.                                     Page 11
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.            If entering a Personal (Private) message, the user will be
  863.        asked for the name of the person to send the message to. TinyHost
  864.        will then check to be sure that such a person exists in its user
  865.        base, so it is imperative that the user's name be spelled
  866.        correctly. To find out who exists in the user base, and to find
  867.        the proper spelling of names, a View User list can be done
  868.        (within security limits).
  869.  
  870.            Up to 20 lines of 70 characters each may be entered. To end
  871.        the message, enter a blank line when done. TinyHost will then ask
  872.        whether the message should be Saved or Aborted.
  873.  
  874.            TinyHost does not yet provide automatic wordwrap when
  875.        entering messages, so <RETURN> will have to be pressed when the
  876.        end of the line is reached. Message editing is also not currently
  877.        supported.
  878.  
  879.            After the message is saved, TinyHost will automatically add
  880.        the sending individual's name, and the time and date the message
  881.        was entered, to the beginning of the message. The entire message
  882.        will then be saved into the appropriate message file.
  883.  
  884.  
  885.        3.4.3   Killing (Deleting) Messages
  886.  
  887.            TinyHost will retain all messages until they are deleted.
  888.        This is accomplished by entering a 'K' (or 'k') at the Main Menu
  889.        prompt. The user will then be prompted for the type of mail to
  890.        delete - Personal, Public, or SysOp Comments. The user is then
  891.        asked if all messages are truly to be deleted, and if the
  892.        response is Yes, then the entire mail file is deleted.
  893.  
  894.            If the user's security is not high enough to delete Public
  895.        Mail or SysOp Comments, such a message will be displayed and the
  896.        user will be returned to the Main Menu.
  897.  
  898.            It must be stressed that when Killing Messages, ALL such
  899.        messages are deleted! There is presently no way, for instance, to
  900.        just delete one Private message out of the group. However, since
  901.        a DOS file delete is done, the file should be recoverable using
  902.        an easily available file recovery utility.
  903.  
  904.            Non-deleted messages will hang around forever (or until the
  905.        next disk crash!). Personal messages, though, will make a minor
  906.        nuisance of themselves by beeping every time the user logs on.
  907.        This should help remind people to purge their old messages.
  908.  
  909.            See Section 4.6 for information on editing the message files
  910.        using an ASCII editor.
  911.  
  912.  
  913.        3.4.4   Viewing User List
  914.  
  915.            To help users when entering Personal mail, a View User List
  916.        function has been added. Entering a 'V' or 'v' at the Main Menu
  917.        prompt will display the list of users currently defined in
  918.        TinyHosts' user base. Both the first and last name of the
  919.        individuals are displayed.
  920.  
  921.                                     Page 12
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.            The View User List function can be restricted to higher
  929.        security levels simply by setting the VIEW descriptor value high
  930.        enough. This may be desired when TinyHost is open to new callers
  931.        (see Section 4.5), or when different security levels are
  932.        implemented. By not having a VIEW descriptor in the TINYHOST.CFG
  933.        file, all users will be able to see the user list.
  934.  
  935.  
  936.  
  937.        3.5   Miscellaneous Commands
  938.  
  939.        3.5.1   Expert Mode
  940.  
  941.            Entering an 'X' (or 'x') at TinyHosts' Main Menu will toggle
  942.        the Expert User Mode on and off. When OFF, full menus and
  943.        informative displays are given throughout TinyHost. When ON,
  944.        these displays are suppressed and only a line showing the valid
  945.        character inputs is displayed.
  946.  
  947.  
  948.        3.5.2   Executing a Warm Boot
  949.  
  950.            As described above, the warm boot option has been included to
  951.        permit the SysOp to add users by remotely updating the config
  952.        file. TinyHost normally only reads its config file on initial
  953.        start-up. Entering a 'W' will result in an immediate TinyHost
  954.        logging off (same as if Goodbye had been selected). The program
  955.        will then proceed to re-load its config file and retrieve ACCESS
  956.        and USER info - everything else in its configuration (INIT,
  957.        RESET, etc.) will remain untouched.
  958.  
  959.  
  960.        3.6   Command Chaining
  961.  
  962.            Many commands can be used with Command Chaining. This is the
  963.        process of entering two pieces of information at the Main Menu
  964.        prompt, with a space separating the items. For instance, to type
  965.        out the file FOOBAR.TXT from the current directory, the command
  966.        line would be:
  967.  
  968.                                 T FOOBAR.TXT <return>
  969.  
  970.        Command chaining can be used in or out of Expert Mode, and
  971.        currently works with file and message commands. Section 3.2 lists
  972.        the available TinyHost commands, and the ones where command
  973.        chaining can be used are marked with asterisks ('*').
  974.  
  975.  
  976.        3.7  User Inactivity and Hang-Ups
  977.  
  978.            TinyHost monitors the COM port for keyboard activity to be
  979.        sure that a user is still out there and awake. If no keyboard
  980.        activity is seen for an extended period of time (at least 2
  981.        minutes) TinyHost will hang up and recycle itself. The total
  982.        length of time that TinyHost will wait depend upon what menu the
  983.        user is in when the inactive period begins. A 5 minute delay is
  984.        set when Viewing a file; a 2 minute delay exists at the Main Menu
  985.  
  986.  
  987.                                     Page 13
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.        prompt. This activity monitor will also handle disconnects that
  995.        occur in the middle of a logon session.
  996.  
  997.  
  998.  
  999.        4.0   MISCELLANEOUS INFORMATION
  1000.  
  1001.        4.1   What is Shareware?
  1002.  
  1003.            TinyHost is being released as Shareware, which means that you
  1004.        can try the program out *before* you buy it and make sure that it
  1005.        will do what you want. If you find it of use, you are requested
  1006.        to mail a contribution ($25 suggested) to the author to support
  1007.        the continued development of this and other products. Please send
  1008.        a check or money order (U.S. funds only) to:
  1009.  
  1010.                                 Bruce A. Krobusek
  1011.                                 1001 Cunningham Drive
  1012.                                 Victor, NY  14564
  1013.  
  1014.            For your $25 you will receive the latest registered version
  1015.        of TinyHost on either 5 1/4 (360K) or 3 1/2 (720K) media (please
  1016.        specify). The registered version of TinyHost has the same
  1017.        functionality as the Shareware version, but the text requesting
  1018.        contributions will be removed. You will also receive a registered
  1019.        version of the next major release of TinyHost, and notifications
  1020.        of future upgrades.
  1021.  
  1022.  
  1023.        4.2   Distributing TinyHost
  1024.  
  1025.            Even though TinyHost is Shareware it remains a
  1026.        copyrighted program. As such, it may be freely copied and
  1027.        distributed under the following guidelines:
  1028.  
  1029.            * The author retains the sole right to sell the program
  1030.              for a profit.
  1031.            * The author grants users the right to copy and distribute
  1032.              TinyHost so long as all program files remain unaltered
  1033.              and are distributed as a group.
  1034.            * The program may not be bundled with any other hardware
  1035.              or software without the permission of the author.
  1036.            * Recognized users groups may charge a maximum of $5 for
  1037.              duplication and/or distribution of TinyHost.
  1038.  
  1039.            Registered users are requested to distribute only the
  1040.        Shareware (Unregistered) version of TinyHost. There is no
  1041.        difference in functionality, but the Shareware version reminds
  1042.        the user to register.
  1043.  
  1044.  
  1045.        4.3   Warranty Information
  1046.  
  1047.            The author (Bruce A. Krobusek) disclaims all warranties
  1048.        expressed or implied as to the quality and performance of this
  1049.        program (TinyHost). The author will not be held liable for any
  1050.        lost profits, lost savings, or any other direct, indirect,
  1051.        incidental, or consequential damages resulting from the use of
  1052.  
  1053.                                     Page 14
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.        this program. Your use of this program constitutes your agreement
  1061.        to this disclaimer and your release of the author from any form
  1062.        of liability or litigation.
  1063.  
  1064.  
  1065.        4.4   Program Support
  1066.  
  1067.            Now that the legal technicalities are out of the way, let me
  1068.        state that I have done my best to ensure that TinyHost is error
  1069.        free. However, that is not to imply that one might not find
  1070.        errors that have been missed. If a problem should be found,
  1071.        contact me through one of the avenues mentioned below and I will
  1072.        do my best to correct it. Naturally, the more information that
  1073.        can be supplied as to the nature of the bug the better chance I
  1074.        will have of finding and squashing it!
  1075.  
  1076.            I am also interested in receiving any comments or suggestions
  1077.        regarding TinyHost. Although I have a few ideas for upcoming
  1078.        enhancements (shell to DOS, external file transfer protocols, log
  1079.        file support, online chat, etc.) I am always interested in
  1080.        hearing what other people think of TinyHost.
  1081.  
  1082.            Here are 5 methods that can be used in contacting me,
  1083.        starting with the most preferable:
  1084.  
  1085.            Micro Science BBS - (716) 594-1804  1200/2400
  1086.            The MailBox BBS   - (716) 594-1897  USR Dual Standard
  1087.                 These Bulletin Boards are located in Rochester, NY
  1088.                 and they are run by Larry Helber. The latest version
  1089.                 of TinyHost will always be available from either as
  1090.                 a free download. Do a file search (Z) and scan for
  1091.                 TINYHOST, or download TH*.ZIP. There is also a
  1092.                 TinyHost support conference where messages can be
  1093.                 left and received. No registration is required with
  1094.                 either BBS for TinyHost support.
  1095.  
  1096.            Intelec (tm) Network - This is a national BBS network
  1097.                 (The MailBox is a member). There are nodes all over
  1098.                 the U.S. and Canada, with a few starting to appear
  1099.                 in other nations. I will monitor the Communications,
  1100.                 Shareware, and Central conferences for any mail
  1101.                 addressed to me. Please try to spell my name
  1102.                 correctly or I may not be notified of a message.
  1103.  
  1104.            GEnie - General Electric Network for Information Exchange
  1105.                 My account name is B.KROBUSEK. I usually logon
  1106.                 once a week or so.
  1107.  
  1108.            CompuServe Informational Services - My account number
  1109.                 is 74106,1335. Again, I try to logon about once
  1110.                 a week.
  1111.  
  1112.            Home Address - 1001 Cunningham Drive
  1113.                           Victor, NY  14564
  1114.  
  1115.  
  1116.  
  1117.  
  1118.  
  1119.                                     Page 15
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126.        4.5   New User Logons
  1127.  
  1128.            Although TinyHost does not permit a new user to register,
  1129.        there is a way to permit new users to logon. To do this, a user
  1130.        account can be created, with a password, and this information can
  1131.        be displayed as part of the TinyHost Welcome screen. For
  1132.        instance, an account could be created with the name New User, the
  1133.        password GUEST, and a security level of 0 (zero). A message could
  1134.        be left as part of the TINYHOST.WEL screen stating that new users
  1135.        should use this account to logon. These users would then be able
  1136.        to access the files in the Start-Up directory, they could read
  1137.        Public mail, and they could leave any type of mail message. If
  1138.        the security levels were set properly (the setting in the
  1139.        included TINYHOST.CFG file would be fine), then the new user
  1140.        would not be able to do anything else. This would be an easy way
  1141.        of leaving the TinyHost system partially accessible to, for
  1142.        instance, the customers of a company.
  1143.  
  1144.  
  1145.        4.6   Message File Format
  1146.  
  1147.            The TinyHost message files are standard ASCII text files.
  1148.        Each file has the extension ".TH". Files for Personal mail
  1149.        consist of filename made up of the user's first and last names.
  1150.        The user's first name is used, with characters from the last name
  1151.        being added to pad the filename for up to 8 characters (the DOS
  1152.        limit). For instance, if the user's name is Joe Fabeets, then his
  1153.        personal mail file will have the filename JOEFABEE.TH. Public
  1154.        mail is stored in PUBLIC.TH; SysOp Comments are stored in
  1155.        COMMENTS.TH.
  1156.  
  1157.            Although TinyHost limits message input to 70 characters per
  1158.        line and 20 lines, this is strictly a program limit. A message
  1159.        file created off-line does not have to adhere to these
  1160.        restrictions (although it is suggested that line length be kept
  1161.        under 80 characters). Each line should be terminated in a
  1162.        carriage return / line feed pair. The end of the message should
  1163.        be marked with a period ('.') in the first column of the
  1164.        terminating line, followed again by a carriage return / line
  1165.        feed. This terminating period is not displayed to the reader.
  1166.  
  1167.            It can be seen, then, that the SysOp can edit Public Mail
  1168.        offline to keep desired messages in the mail file. This can be
  1169.        done using a standard ASCII file editor.
  1170.  
  1171.  
  1172.        4.7   Known Program Limits
  1173.  
  1174.            A few areas exist where there are some known limitations:
  1175.  
  1176.            First, I am somewhat confused as to the flexibility of
  1177.        1K-XModem file transfers. The implementation within TinyHost
  1178.        supports both CRC and checksum error detection, yet in the
  1179.        testing that I have done I have never been able to implement a
  1180.        1K-XModem checksum file transfer because the communications
  1181.        package I was using did not support it. As TinyHost is currently
  1182.        implemented it will attempt to start a CRC upload, and will retry
  1183.        for a total of 30 seconds. If the upload does not begin in that
  1184.  
  1185.                                     Page 16
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192.        time it will fall back to attempting a checksum upload. However,
  1193.        after TinyHost falls back to checksum it will not return to a CRC
  1194.        mode of transfer. The upshot of all of this is that if it takes
  1195.        more than 30 seconds to initiate a 1K-XModem upload using CRC
  1196.        error checking then errors will occur and the upload will never
  1197.        begin (assuming that your communications package does not support
  1198.        1K checksum). If this happens simply abort the upload and begin
  1199.        again.
  1200.  
  1201.            Secondly, file transfer errors have been observed when using
  1202.        the 1K-XModem protocol at 1200 baud with Windows 3.0 and having
  1203.        TinyHost running as a background task. The host machine was a
  1204.        16MHz 386SX with 4Mb of RAM. These errors have *not* been seen
  1205.        running TinyHost within DesqView at rates of up to 2400 baud. It
  1206.        is entirely possible that by judicious time-slice selection
  1207.        within Windows that this problem could be eliminated.
  1208.  
  1209.            Finally, I have not had access to the proper equipment to
  1210.        completely test TinyHost at 4800 and 9600 baud. Although I have
  1211.        every reason to believe that operation will be reliable at these
  1212.        speeds there is also the possibility that I may have missed
  1213.        something. As soon as I have the capability to thoroughly test at
  1214.        higher speeds I shall do so.
  1215.  
  1216.  
  1217.  
  1218.  
  1219.  
  1220.  
  1221.  
  1222.  
  1223.  
  1224.  
  1225.  
  1226.  
  1227.  
  1228.  
  1229.  
  1230.  
  1231.  
  1232.  
  1233.  
  1234.  
  1235.  
  1236.  
  1237.  
  1238.  
  1239.  
  1240.  
  1241.  
  1242.  
  1243.  
  1244.  
  1245.  
  1246.  
  1247.  
  1248.  
  1249.  
  1250.  
  1251.                                     Page 17
  1252.  
  1253.